/**
 * @param {string} 正整数
 * @returns {Boolean}
 */
export const validatorNumber = (rule, value, callback) => {
  const reg = /^\d+$/;
  if (!value) {
    //return callback(new Error('不能为空!!'))
    return callback()
  }
  if (!reg.test(value)) {
    callback(new Error('只能为数字'))
  } else {
    callback()
  }
}

/**
 * @param {string} 最多两位小数
 * @returns {Boolean}
 */
export const validatorNumber2 = (rule, value, callback) => {
  const reg = /^(([1-9]{1}\d*)|(0{1}))(\.\d{1,2})?$/;
  if (!value) {
    // return callback(new Error('不能为空!!'))
    return callback()
  }
  if (!reg.test(value)) {
    callback(new Error('最多两位小数'))
  } else {
    callback()
  }
}

/**
 * @param {string} 最多三位小数
 * @returns {Boolean}
 */
export const validatorNumber3 = (rule, value, callback) => {
  const reg = /^(([1-9]{1}\d*)|(0{1}))(\.\d{1,3})?$/;
  if (!value) {
    // return callback(new Error('不能为空!!'))
    return callback()
  }
  if (!reg.test(value)) {
    callback(new Error('最多三位小数'))
  } else {
    callback()
  }
}

/**
 * @param {string} 采样频率 500Hz-8000Hz
 * @returns {Boolean}
 */
export const validateVibFrequency = (rule, value, callback) => {
  if (!value) {
    return callback(new Error('不能为空!!'))
  }
  const MIN_FREQUENCY = 500;
  const MAX_FREQUENCY = 8000;
  if (value < MIN_FREQUENCY || value > MAX_FREQUENCY) {
    callback(new Error(`采样频率必须在 ${MIN_FREQUENCY} 到 ${MAX_FREQUENCY} 之间`));
  } else {
    callback();
  }
}